#-*- coding: utf-8 -*-

"""PyQt Beispiel von P. Barth 

"""
import sys

from PyQt4 import QtCore
from PyQt4 import Qt
from PyQt4 import QtGui
from PyQt4 import QtOpenGL



class ToggleWindow(QtGui.QWidget):
    """Klasse mit Hauptlayout und 2 Unterlayouts.

    Einfach gehalten durch automatische Anpassung und keine Extra
    QWidgets mit differenzierteren moeglichkeiten.

    """
    
    def __init__(self, *args):
        QtGui.QWidget.__init__(self, *args)

        # VATER
        vBoxLayout = QtGui.QVBoxLayout() # hauptlayout vertikal
        self.setLayout(vBoxLayout)       # Hauptlayout der Klasse setzen

        # KIND 1
        hbox1layout = QtGui.QHBoxLayout()#horizontales Unterlayout
        vBoxLayout.addLayout(hbox1layout)# Unterlayout dem Vaterlayout hinzufuegen
        for i in range(10):              # Buttons dem Unterlayout hinzufuegen
            b = QtGui.QPushButton(str(i))
            hbox1layout.addWidget(b)

        # KIND 2
        vbox1layout = QtGui.QVBoxLayout()        # vertikales Unterlayout  
        vBoxLayout.addLayout(vbox1layout)        # unterlayout dem hauptlayout hinzufuegen
        for i in range(4):        # Buttons dem Unterlayout hinzufuegen
            b = QtGui.QPushButton(str(i)+'u')
            vbox1layout.addWidget(b)


def main(args):
    app=QtGui.QApplication(args)
    win=ToggleWindow()
    win.show()
    app.connect(app, # Widget das Signal aussendet
                Qt.SIGNAL('lastWindowClosed()'), # Standard-Signal aus Qt
                app, # empfaenger Widget
                Qt.SLOT('quit()') # zu aktivierender slot des Empfaengers
                )
    return app.exec_()

if __name__ == '__main__':
    # huebsch gemacht endlosschleifen aufruf app.exec_ als returnwert
    sys.exit(main(sys.argv))
